#pragma once

// Sony SCE ELF specified types


// ELF Types
#define ET_SCE_EXEC	0xFE00
#define ET_SCE_REPLAY_EXEC	0xFE01
#define ET_SCE_RELEXEC	0XFE04
#define ET_SCE_STUBLIB	0xFE0C
#define ET_SCE_DYNEXEC	0xFE10
#define ET_SCE_DYNAMIC	0xFE18


// Program Segment Type
#define PT_SCE_RELA	0x60000000
#define PT_SCE_DYNLIBDATA	0x61000000
#define PT_SCE_PROCPARAM	0x61000001
#define PT_SCE_MODULEPARAM	0x61000002
#define PT_SCE_RELRO	0x61000010
#define PT_SCE_COMMENT	0X6FFFFF00
#define PT_SCE_LIBVERSION	0X6FFFFF01


// Dynamic Section Types
#define DT_SCE_IDTABENTSZ		0x61000005
#define DT_SCE_FINGERPRINT		0x61000007
#define DT_SCE_ORIGINAL_FILENAME		0x61000009
#define DT_SCE_MODULE_INFO		0x6100000D
#define DT_SCE_NEEDED_MODULE		0x6100000F
#define DT_SCE_MODULE_ATTR		0x61000011
#define DT_SCE_EXPORT_LIB		0x61000013
#define DT_SCE_IMPORT_LIB		0x61000015
#define DT_SCE_EXPORT_LIB_ATTR		0x61000017
#define DT_SCE_IMPORT_LIB_ATTR		0x61000019
#define DT_SCE_STUB_MODULE_NAME		0x6100001D
#define DT_SCE_STUB_MODULE_VERSION		0x6100001F
#define DT_SCE_STUB_LIBRARY_NAME		0x61000021
#define DT_SCE_STUB_LIBRARY_VERSION		0x61000023
#define DT_SCE_HASH		0x61000025
#define DT_SCE_PLTGOT		0x61000027
#define DT_SCE_JMPREL		0x61000029
#define DT_SCE_PLTREL		0x6100002B
#define DT_SCE_PLTRELSZ		0x6100002D
#define DT_SCE_RELA		0x6100002F
#define DT_SCE_RELASZ		0x61000031
#define DT_SCE_RELAENT		0x61000033
#define DT_SCE_STRTAB		0x61000035
#define DT_SCE_STRSZ		0x61000037
#define DT_SCE_SYMTAB		0x61000039
#define DT_SCE_SYMENT		0x6100003B
#define DT_SCE_HASHSZ		0x6100003D
#define DT_SCE_SYMTABSZ		0x6100003F
#define DT_SCE_HIOS		0X6FFFF000
#define DT_SCE_IDTABENTSZ		0x61000005
#define DT_SCE_FINGERPRINT		0x61000007
#define DT_SCE_ORIGINAL_FILENAME		0x61000009
#define DT_SCE_MODULE_INFO		0x6100000D
#define DT_SCE_NEEDED_MODULE		0x6100000F
#define DT_SCE_MODULE_ATTR		0x61000011
#define DT_SCE_EXPORT_LIB		0x61000013
#define DT_SCE_IMPORT_LIB		0x61000015
#define DT_SCE_EXPORT_LIB_ATTR		0x61000017
#define DT_SCE_IMPORT_LIB_ATTR		0x61000019
#define DT_SCE_STUB_MODULE_NAME		0x6100001D
#define DT_SCE_STUB_MODULE_VERSION		0x6100001F
#define DT_SCE_STUB_LIBRARY_NAME		0x61000021
#define DT_SCE_STUB_LIBRARY_VERSION		0x61000023
#define DT_SCE_HASH		0x61000025
#define DT_SCE_PLTGOT		0x61000027
#define DT_SCE_JMPREL		0x61000029
#define DT_SCE_PLTREL		0x6100002B
#define DT_SCE_PLTRELSZ		0x6100002D
#define DT_SCE_RELA		0x6100002F
#define DT_SCE_RELASZ		0x61000031
#define DT_SCE_RELAENT		0x61000033
#define DT_SCE_STRTAB		0x61000035
#define DT_SCE_STRSZ		0x61000037
#define DT_SCE_SYMTAB		0x61000039
#define DT_SCE_SYMENT		0x6100003B
#define DT_SCE_HASHSZ		0x6100003D
#define DT_SCE_SYMTABSZ		0x6100003F
#define DT_SCE_HIOS		0X6FFFF000
#define DT_SCE_IDTABENTSZ		0x61000005
#define DT_SCE_FINGERPRINT		0x61000007
#define DT_SCE_ORIGINAL_FILENAME		0x61000009
#define DT_SCE_MODULE_INFO		0x6100000D
#define DT_SCE_NEEDED_MODULE		0x6100000F
#define DT_SCE_MODULE_ATTR		0x61000011
#define DT_SCE_EXPORT_LIB		0x61000013
#define DT_SCE_IMPORT_LIB		0x61000015
#define DT_SCE_EXPORT_LIB_ATTR		0x61000017
#define DT_SCE_IMPORT_LIB_ATTR		0x61000019
#define DT_SCE_STUB_MODULE_NAME		0x6100001D
#define DT_SCE_STUB_MODULE_VERSION		0x6100001F
#define DT_SCE_STUB_LIBRARY_NAME		0x61000021
#define DT_SCE_STUB_LIBRARY_VERSION		0x61000023
#define DT_SCE_HASH		0x61000025
#define DT_SCE_PLTGOT		0x61000027
#define DT_SCE_JMPREL		0x61000029
#define DT_SCE_PLTREL		0x6100002B
#define DT_SCE_PLTRELSZ		0x6100002D
#define DT_SCE_RELA		0x6100002F
#define DT_SCE_RELASZ		0x61000031
#define DT_SCE_RELAENT		0x61000033
#define DT_SCE_STRTAB		0x61000035
#define DT_SCE_STRSZ		0x61000037
#define DT_SCE_SYMTAB		0x61000039
#define DT_SCE_SYMENT		0x6100003B
#define DT_SCE_HASHSZ		0x6100003D
#define DT_SCE_SYMTABSZ		0x6100003F
#define DT_SCE_HIOS		0X6FFFF000
#define DT_SCE_IDTABENTSZ		0x61000005
#define DT_SCE_FINGERPRINT		0x61000007
#define DT_SCE_ORIGINAL_FILENAME		0x61000009
#define DT_SCE_MODULE_INFO		0x6100000D
#define DT_SCE_NEEDED_MODULE		0x6100000F
#define DT_SCE_MODULE_ATTR		0x61000011
#define DT_SCE_EXPORT_LIB		0x61000013
#define DT_SCE_IMPORT_LIB		0x61000015
#define DT_SCE_EXPORT_LIB_ATTR		0x61000017
#define DT_SCE_IMPORT_LIB_ATTR		0x61000019
#define DT_SCE_STUB_MODULE_NAME		0x6100001D
#define DT_SCE_STUB_MODULE_VERSION		0x6100001F
#define DT_SCE_STUB_LIBRARY_NAME		0x61000021
#define DT_SCE_STUB_LIBRARY_VERSION		0x61000023
#define DT_SCE_HASH		0x61000025
#define DT_SCE_PLTGOT		0x61000027
#define DT_SCE_JMPREL		0x61000029
#define DT_SCE_PLTREL		0x6100002B
#define DT_SCE_PLTRELSZ		0x6100002D
#define DT_SCE_RELA		0x6100002F
#define DT_SCE_RELASZ		0x61000031
#define DT_SCE_RELAENT		0x61000033
#define DT_SCE_STRTAB		0x61000035
#define DT_SCE_STRSZ		0x61000037
#define DT_SCE_SYMTAB		0x61000039
#define DT_SCE_SYMENT		0x6100003B
#define DT_SCE_HASHSZ		0x6100003D
#define DT_SCE_SYMTABSZ		0x6100003F
#define DT_SCE_HIOS		0X6FFFF000
#define DT_SCE_IDTABENTSZ		0x61000005
#define DT_SCE_FINGERPRINT		0x61000007
#define DT_SCE_ORIGINAL_FILENAME		0x61000009
#define DT_SCE_MODULE_INFO		0x6100000D
#define DT_SCE_NEEDED_MODULE		0x6100000F
#define DT_SCE_MODULE_ATTR		0x61000011
#define DT_SCE_EXPORT_LIB		0x61000013
#define DT_SCE_IMPORT_LIB		0x61000015
#define DT_SCE_EXPORT_LIB_ATTR		0x61000017
#define DT_SCE_IMPORT_LIB_ATTR		0x61000019
#define DT_SCE_STUB_MODULE_NAME		0x6100001D
#define DT_SCE_STUB_MODULE_VERSION		0x6100001F
#define DT_SCE_STUB_LIBRARY_NAME		0x61000021
#define DT_SCE_STUB_LIBRARY_VERSION		0x61000023
#define DT_SCE_HASH		0x61000025
#define DT_SCE_PLTGOT		0x61000027
#define DT_SCE_JMPREL		0x61000029
#define DT_SCE_PLTREL		0x6100002B
#define DT_SCE_PLTRELSZ		0x6100002D
#define DT_SCE_RELA		0x6100002F
#define DT_SCE_RELASZ		0x61000031
#define DT_SCE_RELAENT		0x61000033
#define DT_SCE_STRTAB		0x61000035
#define DT_SCE_STRSZ		0x61000037
#define DT_SCE_SYMTAB		0x61000039
#define DT_SCE_SYMENT		0x6100003B
#define DT_SCE_HASHSZ		0x6100003D
#define DT_SCE_SYMTABSZ		0x6100003F
#define DT_SCE_HIOS		0X6FFFF000
#define DT_SCE_IDTABENTSZ		0x61000005
#define DT_SCE_FINGERPRINT		0x61000007
#define DT_SCE_ORIGINAL_FILENAME		0x61000009
#define DT_SCE_MODULE_INFO		0x6100000D
#define DT_SCE_NEEDED_MODULE		0x6100000F
#define DT_SCE_MODULE_ATTR		0x61000011
#define DT_SCE_EXPORT_LIB		0x61000013
#define DT_SCE_IMPORT_LIB		0x61000015
#define DT_SCE_EXPORT_LIB_ATTR		0x61000017
#define DT_SCE_IMPORT_LIB_ATTR		0x61000019
#define DT_SCE_STUB_MODULE_NAME		0x6100001D
#define DT_SCE_STUB_MODULE_VERSION		0x6100001F
#define DT_SCE_STUB_LIBRARY_NAME		0x61000021
#define DT_SCE_STUB_LIBRARY_VERSION		0x61000023
#define DT_SCE_HASH		0x61000025
#define DT_SCE_PLTGOT		0x61000027
#define DT_SCE_JMPREL		0x61000029
#define DT_SCE_PLTREL		0x6100002B
#define DT_SCE_PLTRELSZ		0x6100002D
#define DT_SCE_RELA		0x6100002F
#define DT_SCE_RELASZ		0x61000031
#define DT_SCE_RELAENT		0x61000033
#define DT_SCE_STRTAB		0x61000035
#define DT_SCE_STRSZ		0x61000037
#define DT_SCE_SYMTAB		0x61000039
#define DT_SCE_SYMENT		0x6100003B
#define DT_SCE_HASHSZ		0x6100003D
#define DT_SCE_SYMTABSZ		0x6100003F
#define DT_SCE_HIOS		0X6FFFF000
#define DT_SCE_IDTABENTSZ		0x61000005
#define DT_SCE_FINGERPRINT		0x61000007
#define DT_SCE_ORIGINAL_FILENAME		0x61000009
#define DT_SCE_MODULE_INFO		0x6100000D
#define DT_SCE_NEEDED_MODULE		0x6100000F
#define DT_SCE_MODULE_ATTR		0x61000011
#define DT_SCE_EXPORT_LIB		0x61000013
#define DT_SCE_IMPORT_LIB		0x61000015
#define DT_SCE_EXPORT_LIB_ATTR		0x61000017
#define DT_SCE_IMPORT_LIB_ATTR		0x61000019
#define DT_SCE_STUB_MODULE_NAME		0x6100001D
#define DT_SCE_STUB_MODULE_VERSION		0x6100001F
#define DT_SCE_STUB_LIBRARY_NAME		0x61000021
#define DT_SCE_STUB_LIBRARY_VERSION		0x61000023
#define DT_SCE_HASH		0x61000025
#define DT_SCE_PLTGOT		0x61000027
#define DT_SCE_JMPREL		0x61000029
#define DT_SCE_PLTREL		0x6100002B
#define DT_SCE_PLTRELSZ		0x6100002D
#define DT_SCE_RELA		0x6100002F
#define DT_SCE_RELASZ		0x61000031
#define DT_SCE_RELAENT		0x61000033
#define DT_SCE_STRTAB		0x61000035
#define DT_SCE_STRSZ		0x61000037
#define DT_SCE_SYMTAB		0x61000039
#define DT_SCE_SYMENT		0x6100003B
#define DT_SCE_HASHSZ		0x6100003D
#define DT_SCE_SYMTABSZ		0x6100003F
#define DT_SCE_HIOS		0X6FFFF000